package org.example.managere.dto.feibiao;

import jakarta.validation.constraints.DecimalMax;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 模型融合配置表DTO
 */
@Data
public class AmAapModelInfoDto {
    private Integer id;

    @NotNull(message = "物理模型权重不能为空")
    @DecimalMin(value = "0.0000", message = "物理模型权重不能小于0")
    @DecimalMax(value = "1.0000", message = "物理模型权重不能大于1")
    private BigDecimal physicalModelWeight;

    @NotNull(message = "大语言模型权重不能为空")
    @DecimalMin(value = "0.0000", message = "大语言模型权重不能小于0")
    @DecimalMax(value = "1.0000", message = "大语言模型权重不能大于1")
    private BigDecimal llmModelWeight;

    @NotBlank(message = "融合方法不能为空")
    private String fusionMethod;

    @NotBlank(message = "关键贡献因素不能为空")
    private String keyContributingFactors;

    @NotBlank(message = "特征重要性不能为空")
    private String featureImportance;
} 